package com.qk.common.util;

/**
 *
 * @description
 *
 *  制作一个ThreadLocal 工具类用来共享当前用户信息
 *  1、构造私有化
 *  2、提供静态方法
 *
 */
public class CurrentUserContextHolders {

    // 创建一个ThreadLocal对象 用来保存当前用户信息
    // 隐藏一个设计模式单例设计模式 饿汉式
    private static final ThreadLocal<Integer> USER_CONTEXT = new ThreadLocal<>();

    private CurrentUserContextHolders() {
    }

    // 存
    public static void set(Integer userId) {
        USER_CONTEXT.set(userId);
    }

    // 取
    public static Integer get() {
        return USER_CONTEXT.get();
    }

    // 移除
    public static void remove() {
        USER_CONTEXT.remove();
    }
}